您好,欢迎来到达州工业云! 平台首页 企业驾驶舱 帮助中心 企业登录 企业注册

HI,欢迎使用达州工业云平台!

账号必须大于2位

创新资源平台
服务平台首页>专利库>专利详情

SIP端点增强器

  • 申请号:CN201010287171.9 申请公布号: CN102025718B
  • 申请日: 2010-09-16 申请公布日: 2014-07-02
  • 申请(专利权)人: 专利代理机构: 北京东方亿思知识产权代理有限责任公司
  • 分类号:H04L29/06

专利介绍

本发明涉及SIP端点增强器。提供了用于增强诸如通信端点之类的通信设备的功能的方法、设备和系统。这提供了用所要求的特征来增强不太智能的SIP端点以支持更丰富的用户体验的能力。另外,端点增强器可以被动态地插入到现有的网络设备上。这种所提供的可插入性使得网络管理员可以在不破坏网络操作或者先前存在的SEE的操作的情况下向网络添加新的SEE模板。
1.一种通信方法,包括:从第一具有SIP能力的通信端点接收第一消息;对所述第一消息进行分析,以识别所述第一具有SIP能力的通信端点的基于SIP的功能能力;确定将由所述第一具有SIP能力的通信端点使用的通信网络的基于SIP的功能要求;对所述通信网络的基于SIP的功能要求与所述第一具有SIP能力的通信端点的基于SIP的功能能力进行比较;确定所述第一具有SIP能力的通信端点的基于SIP的功能能力不满足所述通信网络的基于SIP的功能要求;基于确定所述第一具有SIP能力的通信端点的基于SIP的功能能力不满足所述通信网络的基于SIP的功能要求,为所述第一具有SIP能力的通信端点选择至少一个端点增强器,随后所述至少一个端点增强器被配置为增加所述第一具有SIP能力的通信端点的SIP能力;从所述第一具有SIP能力的通信端点接收第二消息,其中所述第二消息是连同通过所述通信网络在所述第一具有SIP能力的通信端点和通信设备之间建立通信会话而接收的;以及将所选择的至少一个端点增强器插入到所述第一具有SIP能力的通信端点和所述通信设备之间的呼叫路径中,从而将所述第一具有SIP能力的通信端点的基于SIP的功能能力至少增强到满足所述通信网络的基于SIP的功能要求。
2.根据权利要求1所述的方法,还包括:确定所述第二消息是将会排序通过至少一个应用的消息;以及当联系解析已经被执行时,在针对用户的终结处理之后,调用所选择的至少一个端点增强器。
3.根据权利要求1所述的方法,其中所述第一消息包括REGISTER消息,并且其中所述第二消息包括所述第一具有SIP能力的通信端点和所述通信设备之间的除了REGISTER消息以外的发起对话的SIP消息以及对话外消息中的至少一者,其中所选择的至少一个端点增强器存在于建立在所述第一具有SIP能力的通信端点和所述通信设备之间的任何对话的信令路径中,其中所述通信会话的所有消息均由所选择的至少一个端点增强器接收。
4.根据权利要求1所述的方法,还包括:从所述第一具有SIP能力的通信端点接收第三消息;以及再次使用所述第一具有SIP能力的通信端点和所述通信网络之间的所建立的传输层安全性连接,以再次针对所述第一具有SIP能力的通信端点插入所选择的至少一个端点增强器。
5.根据权利要求1所述的方法,其中所选择的至少一个端点增强器是从多个端点增强器中选择的,其中所述多个端点增强器中的每一个均被用于向具有SIP能力的端点提供不同的基于SIP的功能以满足所述通信网络的基于SIP的功能要求,其中所选择的至少一个端点增强器被动态地添加。
6.一种通信设备,包括:用于从第一具有SIP能力的通信端点接收注册型消息的装置;用于对所述注册型消息进行分析,以识别所述第一具有SIP能力的通信端点的基于SIP的功能能力的装置;用于确定将由所述第一具有SIP能力的通信端点使用的通信网络的基于SIP的功能要求的装置;用于对所述通信网络的基于SIP的功能要求与所述第一具有SIP能力的通信端点的功能能力进行比较的装置;用于确定所述第一具有SIP能力的通信端点的基于SIP的功能能力不满足所述通信网络的功能要求的装置;用于为所述第一具有SIP能力的通信端点选择端点增强器的装置,所述端点增强器被配置为增强所述第一具有SIP能力的通信端点的SIP能力;以及用于将所选择的端点增强器插入到所述第一具有SIP能力的通信端点和第二通信端点之间的呼叫路径中,从而将所述第一具有SIP能力的通信端点的基于SIP的功能能力至少增强到满足所述通信网络的基于SIP的功能要求的装置。
7.根据权利要求6所述的通信设备,其中所述通信网络包括SIP网络,并且第二通信端点驻留在所述SIP网络中。
8.根据权利要求6所述的通信设备,其中所选择的端点增强器被插入到所述呼叫的呼叫发起侧中,所述注册型消息包括REGISTER消息,并且所选择的端点增强器存在于建立在所述第一具有SIP能力的通信端点和所述第二通信端点之间的任何对话的信令路径中。
9.根据权利要求6所述的通信设备,包括存储器,所述存储器包括SIP代理代码和所选择的端点增强器,所述通信设备还包括用于执行其存储器的内容的处理器,其中所选择的端点增强器是不在所述SIP代理的代码空间中进行操作的独立应用。
10.根据权利要求6所述的通信设备,其中所述通信设备作为所述第一具有SIP能力的通信端点和所述第二通信端点之间的背靠背用户代理进行操作,并且所选择的端点增强器位于所述背靠背用户代理上。技术领域
本发明一般地涉及通信,更具体地涉及基于SIP的通信。
背景技术
会话发起协议(SIP)是一种用于建立多种实时通信会话的开放式信令协议。可以使用SIP建立的通信会话的类型示例包括语音、视频和/或即时消息。这些通信会话可以在诸如个人计算机、膝上型计算机、个人数字助理、电话、移动电话、蜂窝电话等之类的任何类型的通信设备上执行。SIP的一个主要特征在于它的如下能力:使用终端用户的记录地址(AOR)作为用于所有通信的单一的统一公共地址。因此,在SIP增强型通信的世界中,用户的AOR变为它们的单一地址,该单一地址将用户链接至与用户相关联的所有通信设备。使用该AOR,呼叫者可以在不必知道每个独特的设备地址或电话号码的情况下联系到用户的通信设备(也称为用户代理(UA))中的任意一个。SIP是一种允许通过使用特定报头、方法和呼叫流程来可选地支持各种特征的灵活协议。利用协议中的这种内在灵活性以及可用的实现方式的相对不成熟的状态(当与其他长期建立的技术相比时),设备将不可避免地被布置成不能充分利用网络上可用的所有特征的网络。这是因为这些设备将不一定实现网络特征所要求的呼叫流程或者所有所要求的报头。期望一种应用来迎合所有不同类型的端点(endpoint)以及它们对所提供的特征的不同程度的支持是不实际的。因此,显然在提供如下网络解决方案方面存在问题:该网络解决方案允许在本地不支持所要求的呼叫流程或者报头设置的端点使用不同复杂性的应用或特征。该问题的一个示例涉及利用背靠背UA(B2BUA)对长期存在的问题的解决方案。B2BUA是一种经常使用的架构,从而B2BUA应用在呼叫建立期间被安排到呼叫者和被呼叫者之间的信令路径中。B2BUA对于呼叫者和被呼叫者二者看起来像并且充当真实端点。这种配置的问题在于B2BUA可能结束对来自每个端点的真实呼叫信息的隐藏。即,因为呼叫者端点实际上处于与B2BUA而不是与被呼叫者端点的呼叫中,所以它不知道被呼叫者如何看待该呼叫。SIP中存在很多取决于端点所知的这种端点观点信息(endpointxa0viewxa0information)的特征。在没有适当的端点观点信息的情况下,这种SIP特征要么变得破碎,要么不能由端点访问。继续B2BUA示例,解决在端点之间并入B2BUA的问题的新近方案被称为端点观点报头(Endpointxa0Viewxa0Header)。在这个实例中,呼叫者和被呼叫者二者将它们对于该呼叫的观点嵌入在称为“端点观点”报头的报头中,该报头透明地通过网络,从而使得端点可以得知另一个端点如何看待该呼叫。然而,这是一种新近的提案,并且当前存在很多可用的端点,这些端点希望存在于包含B2BUA的网络中但是不支持“端点观点”报头。对于其他SIP报头和对SIP行为的扩展,出现类似的问题。
发明内容
因此,本发明的一个方面在于一种端点增强器,该端点增强器使得端点能够在本地不支持网络特征所利用的扩展或呼叫流程的情况下使用网络特征。根据本发明的至少一些实施例,提供了一种基于设备的本地能力来加强端点(也可称为UA)的功能从而使其满足网络的核心的可操作性标准的SIP端点增强器(SEE)。SEE功能取决于专用SIP代理,并且结合专用SIP代理而工作。这里所使用的“专用代理”、“SIP代理”等用于指代提供注册器(Registrar)、定位服务器(locationxa0server)、事件路由以及应用排序能力的SIP架构的网络元件之一或者它们的组合。专用SIP代理可以用作用户和应用SIP请求进入到核心(也称为企业网络)的入口点。作为注册器和定位服务器,其处于发起和终结SIP请求的路径中。另外,基于所规定的用户简档(profile),专用SIP代理可以为呼叫的两侧(即,呼叫的发起侧和终结侧)调用(路由)应用序列。在这个背景以外,在一些实施例中,SEE不增强SIP设备的功能。各种SEE实现方式可以作为附加功能被布置到专用SIP代理上。根据本发明的至少一些实施例,取决于特定的设备类型所要求的增强类型和程度,SEE可以被实现为代理或者B2BUA。为了支持各种设备,可存在各种SEE实现方式。除了SEE能够提供的功能外,SEE职责的另一方面是,它出现在网络架构的整个结构的什么地方以及它如何代表设备而被调用。根据本发明的至少一些实施例,从端点的角度看,端点不知道其正被SEE增强,并且继续以正常方式进行操作。因此,端点向专用SIP代理的注册将像平常一样进行。在注册期间,专用SIP代理将检查包含关于作出请求的UA的信息的(REGISTER(注册)的)标准用户代理(User-Agent)报头。基于设备类型,专用SIP代理决定在设备附接至网络的有效期(lifetime)中,是否将针对去往或来自该设备的呼叫而调用特定的SEE类型和实例。其他实体不知道,它们现在将通过其增强的身份来与设备交互。注意,在注册期间,没有SEE被调用,端点如平常一样注册,并且专用SIP代理只识别SEE是否将被应用于随后的SIP信令。RFC3261(其全部内容通过引用被结合于此)规定,用户代理报头在REGISTER请求中是可选的,但是,为了被SEE增强,端点必须在REGISTER请求中包括用户代理报头。RFC3261还规定,UA应该使这个报头可配置,如同很多第三方端点的情况一样。因此,网络管理员有责任确保端点被规定利用适当的值(例如,匹配从设备类型映射到SEE的专用SIP代理的值)来填充用户代理报头。根据本发明的至少一些实施例,端点的不同集合被支持,从而网络中的不同设备类型要求经由不同SEE的不同增强。可以提供允许专用SIP代理知道特定设备类型需要特定增强并相应地提供这种增强的机制。根据本发明的至少一些实施例,针对所有SIP方法而不是仅针对被排序的那些方法而调用SEE。例如,诸如SUBSCRIBE(订阅)和NOTIFY(通知)之类的未被排序的SIP方法应当在针对一般的SIP路由而被发送之前经过SEE。如上所述,REGISTER方法向该规则提供了一种例外情况。SEE将不改变与设备的REGISTER事务呼叫流程,但是作为向设备指派SEE的结果,SEE可以装饰或改变注册器的信息,以反映出增强后的设备的能力。如果可能,SEE应该被实现为简单代理,尽管将其实现为B2BUA也是可以接受的。SEExa0B2BUA可以代表端点发起SIP事务。SEE不应该独自生成或终结通信会话。可能需要B2BUA能力来例如实现对用于作出呼叫请求的对话外(Outxa0ofxa0Dialog)REFER(引荐)的支持。SEE可以被实现为代理和UA的组合(例如,为了代表端点来对订阅进行响应、发送通知或者公布事件)。例如,为了代表端点来公布对话状态事件,SEE将充当代理(来查看请求和响应)以及UA客户端(来实际地公布事件)。对于对话创建事务,如果需要SEE,则在针对使用该端点的用户开始发起处理之前或者当联系解析(contactxa0resolution)正在被执行时(当知道可能的很多注册设备中的哪个或哪些将在处理该呼叫的过程中被涉及时)针对用户的终结处理之后,本发明的实施例被用来动态地将SEE插入到呼叫路径中。关于发起和终结处理的概念的另外细节对于本领域技术人员来说是公知的,并且在美国专利公开No.2009/0103518中描述,该美国专利公开的全部内容通过引用结合于此。基于正在使用的设备而不是基于用户来采用SEE功能。因此,SEE不同于应用排序。根据本发明的至少一些实施例,当对设备进行呼叫或者从设备发起呼叫时,SEE将被应用。SEE逻辑利用来自专用SIP代理的关于用于逻辑调用的倾向“相位(phase)”的指示;专用SIP代理将与请求一起传送该相位信息。当调用SEE时,专用SIP代理将两个路由报头插入在请求中。在属于SEE的第一路由报头中,专用SIP代理将插入相位标签。SEE使用该标签来确定其是否被调用来服务于发起设备或终结设备。在接收到具有发起相位标签的请求时,应用将调用基于发起该请求的设备的逻辑。当接收到具有终结相位标签的请求时,SEE将调用与请求的目的地设备相关联的逻辑。第二路由报头属于专用SIP代理,并且将包括由专用SIP代理发送给其自身的指示出SEE终结处理或SEE发起处理的完成的标签。可以根据本发明的实施例使用的标签的一些示例在下表中显示并描述:ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="700"/>根据本发明的至少一些实施例,SEE被作为成功的设备注册的结果并且以对所涉及的设备透明的方式应用,这意味着:·可以再次使用已经建立的TLS(传输层安全性)连接。·简化了启动和网络附接过程。·允许第三方端点使用诸如从DHCP服务器获得SIP外发代理(Outboundxa0Proxy)地址之类的标准网络附接过程而不论对增强的需求如何。·使得附接安全功能对于所有设备而言一致。防火墙、认证、授权机制对于需要增强的设备以及不需要增强的设备均保持一致且集中化。取决于所应用的增强和问题领域,SEE可以用作B2BUA或代理(并且可选地记录路由)。增强可以被写成独立的SEE应用,并且可以位于诸如由Avaya,Inc.生产并销售的Aura会话管理器(SM)之类的代理中,或者可以被布置为应用本身旁边的应用服务器。为了减少等待时间,建议SEE与SM共驻。SEE不是终端适配器(TA),并且不应该被看作终端适配器。TA是将非SIP端点适配到SIP网络中的SIP网关;相反,SEE增强SIP端点。TA代表端点来注册,而SEE不是这样。TA可能具有对原来设备的具体硬件接口要求,而SEE可以作为仅是软件的实体来执行它的所有功能。SEE应该仅增强端点对于SIP信令构造(例如,报头、方法、扩展以及特定于网络的呼叫流程)的支持。SEE不应该包括任何路由逻辑(例如,将请求路由到另一个位置、任何商业逻辑或者任何独特的呼叫处理或特征逻辑)。其职责是将设备提升到SIP信令能力的共同水平,从而使得位于其他SIP服务器上的SIP应用可以在共同的抽象水平上对待所有的端点设备。根据本发明的至少一些实施例,提供了一种方法,该方法一般包括:从第一通信端点设备接收第一消息;对第一消息进行分析,以识别第一通信端点设备的功能能力;确定将由第一通信端点设备使用的通信网络的功能要求;将通信网络的功能要求与第一通信端点设备的功能能力相比较;确定第一通信端点设备的功能能力是否不满足通信网络的功能要求;基于确定第一通信端点设备的功能能力不满足通信网络的功能要求,为第一通信端点设备选择至少一个端点增强器;从第一通信端点设备接收第二消息,其中第二消息是连同通过通信网络在第一通信端点设备和通信设备之间的通信会话而被接收的;以及将所选择的至少一个端点增强器插入到第一通信端点设备和通信设备之间的呼叫路径中。还提供了用于存储指令的计算机可读介质,这些指令在被处理器执行时使得处理器能够执行以上所述的方法。这里使用的术语“计算机可读介质”是指参与向处理器提供用于执行的指令的任何有形存储和/或传输介质。这种介质可以采用很多形式,包括但不限于非易失性介质、易失性介质以及传输介质。非易失性介质例如包括NVRAM、磁盘或光盘。易失性介质包括诸如主存储器之类的动态存储器。计算机可读介质的常见形式例如包括软盘、柔性盘、硬盘、磁带或者任何其他磁介质、磁光介质、CD-ROM、任何其他光介质、打孔卡、纸带、具有孔洞图案的任何其他物理介质、RAM、PROM、EPROM、FLASH-EPROM、诸如存储器卡的固态介质、任何其他存储器芯片或盒带、如随后所述的载波或者计算机可以读取的任何其他介质。电子邮件的数字文件附件或者其他自包含信息档案文件或者档案文件组被看作等同于有形存储介质的分发介质。当计算机可读介质被配置为数据库时,应该理解,数据库可以是任何类型的数据库,诸如相关的、分层级的、面向对象的等等。因此,认为本发明包括其中存储了本发明的软件实现方式的有形存储介质或者分发介质、以及现有技术辨认出的等同物或后继介质。这里使用的术语“确定”、“计算”和“运算”以及它们的变形被可互换地使用,并且包括任意类型的方法、处理、数学运算或技术。这里使用的术语“模块”、“代理”或“工具”是指能够执行与该元件相关联的功能的任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或者硬件和软件的组合。另外,尽管从示例性实施例方面描述了本发明,但是应该明白,本发明的各个方面可以被分别请求保护。以上是对本发明实施例的简要总结,用于提供对本发明的一些方面的理解。该总结既不是对本发明及其各种实施例的广泛概述也不是对本发明及其各种实施例的详尽概述。这既不意图表明本发明的主要或关键要素也不描绘本发明的范围,而是意图以简要的形式呈现本发明的所选概念,作为下面呈现的更详细的描述的引言。将会明白,本发明的其他实施例也是可能的,这些实施例单独地或者组合地利用上面给出的或者下面详细描述的一个或多个特征。
附图说明
图1是示出根据本发明的至少一些实施例的通信系统的框图;图2是示出根据本发明的至少一些实施例的通信系统的部件的第一配置的框图;图3是示出根据本发明的至少一些实施例的通信系统的部件的第二配置的框图;图4是示出根据本发明的至少一些实施例的注册方法的信令图;图5是示出根据本发明的至少一些实施例的包括SEE的呼叫的框图;图6是示出根据本发明的至少一些实施例在呼叫建立期间应用的端点观点SEE的信令图;以及图7是示出根据本发明的至少一些实施例的转换对话ID的端点观点SEE的信令图。
具体实施方式
下面结合示例性通信系统说明本发明。尽管例如适用于使用(一个或多个)服务器和/或(一个或多个)数据库的系统,但是本发明不限于用于任何特定类型的通信系统或系统元件的配置。本领域技术人员将认识到,所公开的技术可以用在希望增强通信端点或用户代理的功能的任意通信应用中。还将针对分析软件、模块以及相关联的分析硬件来描述本发明的示例性系统和方法。然而,为了避免不必要地模糊本发明,下面的描述省去了可以以框图的形式示出的、公知的或者以其他方式概略表示的公知结构、部件和设备。出于说明的目的,陈述了很多细节以提供对本发明的透彻理解。然而应该理解,本发明可以按照本文中陈述的具体细节以外的各种方式实践。首先参考图1,将描述根据本发明的至少一些实施例的示例性通信系统100。更具体地,通信系统100包括用于使一个或多个通信端点108(示为UA)与通信网络104以及连接至该通信网络的任何其他设备互连的通信网络104。作为示例,通信网络104可以包括连接至该通信网络的一个或多个SIP服务器112。一般,通信端点108可以被用来支持与其他通信端点108的视频、音频、文本和/或数据通信。SIP服务器112可以包括向网络104以及连接至该网络的端点提供各种特征/功能的一个或多个应用或特征模块。根据本发明的至少一些实施例,位于连接至网络104的SIP服务器112上的特征和/或应用定义了网络104的“功能要求”,这是因为这些特征和/或应用要求来自端点的一定数量的协作交互,以完全执行这些特征和/或应用。SIP服务器112可以对应于SIP应用或特征服务器,该SIP应用或特征服务器被用来向一个或多个通信端点108提供SIP功能。SIP服务器112的一个示例是由Avaya,Inc.生产并销售的Aura会话管理器。SIP服务器112是接受SIP请求并对这些请求作出响应的应用。SIP服务器112不应该被混同于SIP协议的客户端-服务器特性或者UA服务器,其中,SIP协议的客户端-服务器特性描述了客户端(请求的发起者)和服务器(对请求的响应的发起者)方面的操作。SIP服务器112是一种不同类型的实体。这里讨论的SIP服务器112的类型是逻辑实体。实际的SIP服务器112实现方式可以包括很多服务器类型,或者可以在不同条件下作为不同类型的服务器进行操作。因为服务器向端点提供了服务和特征,所以它们一般支持用于传输的TCP、TLS和UDP。一种具体类型的SIP服务器112是代理服务器。其他类型的SIP服务器112也是已知的,并且一些这样的示例可以在本文中更详细讨论。通信网络104可以是任意类型的已知通信介质或者通信介质的集合,并且可以使用任意类型的协议来在端点或设备之间传输消息。通信网络104可以包括有线和/或无线通信技术。通信网络104的示例包括局域网(LAN)、广域网(WAN)、互联网(互联网是通信网络104的一个示例,其构成由遍布整个世界的很多计算机和其他通信设备组成的IP网络,其中,这些计算机和其他通信设备通过很多电话系统和其他装置相连接)、标准的普通老式电话系统(POTS)、综合业务数字网(ISDN)、公共交换电话网(PSTN)、H.323网络、会话发起协议(SIP)网络、将通过隧道、适配或其他适当机制支持SIPxa0UA的互连的任何网络、以及本领域已知的任何其他类型的分组交换或电路交换网络。另外,可以明白,通信网络104不需要被限制为任意一种网络类型,相反,可以包括多个不同的网络和/或网络类型。可以被连接至通信网络104的通信设备的另一个示例是B2BUA116。B2BUA是这样的一种SIP设备:该SIP设备接收SIP请求,然后对该请求重新成形(reformulate),并将其作为新的请求发送出去。对请求的响应也被重新成形,并且被以相反的方向发送回去。例如,B2BUA设备可以被用来实现匿名化服务(anonymizerxa0service),其中两个SIPxa0UA可以在双方均不知道另一方的URI、IP地址或任何其他信息的情况下通信。有时,B2BUA被用来实现其他SIP服务。SIP网络中存在的B2BUA的最常见形式是应用层网关(ALG)。一些防火墙内置了ALG功能,这使得防火墙能够在仍然保持高安全等级的同时允许进行SIP和媒体业务。然而,将B2BUA116引入网络104具有诸如破坏了端点观点功能之类的一些倒退。因此,示出为SIP端点增强器的端点增强器120可以被提供给连接至通信网络104的一个或多个设备。根据本发明的至少一些实施例,取决于端点增强器120的特性以及通信网络104的功能要求,可以在SIP服务器112和/或B2BUA116上设置端点增强器120。端点增强器120的位置还取决于通信端点108的功能能力(functionalxa0capability)。根据本发明的至少一些实施例,可以在SIP服务器112和B2BUA116中的一者或两者上设置多个端点增强器120。当端点108试图建立与另一个端点108的通信会话时,可以从多个端点增强器中选择增强器以插入端点之间的呼叫路径中。这种端点增强器的选择可以取决于端点108的功能能力以及通信网络104的功能要求。作为一个示例,如果通信网络104支持端点观点功能,而端点不支持“端点观点”报头的使用,则可以选择适当的端点增强器120,以帮助端点实现由通信网络104提供的端点观点功能。端点观点功能将在本文中更详细描述,但是本领域技术人员将会明白,本发明不限于此。本领域技术人员也可以预想到由网络104提供但是连接至网络104的端点108不支持的功能的其他示例,并且应该理解本发明的实施例也覆盖这些示例。图2示出了根据本发明的至少一些实施例的通信系统的部件之间的交互的进一步细节。更具体地,SIPxa0UA108被示出为连接至代理服务器204,其中该代理服务器是SIP服务器112的一个示例。SIP代理服务器204还可以包括一个或多个端点增强器120。SIP代理服务器204从UA108或者其他代理接收SIP请求,并且在转发请求或者对请求作出响应时代表UA108进行操作。代理服务器204不是B2BUA116,这是因为它只被允许根据RFC3261中给出的严格规则来修改请求和响应。这些规则在仍然允许代理服务器204为UA108提供有价值的服务和功能的同时,保留了SIP信令的端到端透明性。SIP代理服务器204一般可以访问数据库212或者定位服务,以帮助它处理请求(例如,确定下一跳)。代理204和定位服务212之间的接口不一定由SIP协议定义。代理204可以使用任意数目的类型的数据库来帮助处理请求。包含在定位服务/数据库212中的数据可以由专用SIP代理208来填充(populate)和管理,其中,该专用SIP代理208也是SIP服务器112的示例。实际上,尽管专用SIP代理208和代理服务器204被示出为独立的设备,但是本领域技术人员将明白,专用SIP代理208除了可以执行与更新数据库212有关地执行的其他UA管理服务和注册服务之外,还可以执行代理服务器204的功能。根据本发明的至少一些实施例,UA108被用于当其连接至网络104时向专用SIP代理208注册。专用SIP代理208通常经由诸如REGISTER(注册)之类的注册型消息来接收该注册信息,并且利用包含在注册型消息中的信息来更新数据库212。图3示出了根据本发明的至少一些实施例的部件的另一种配置。更具体地,B2BUA116可以被插入到SIPxa0UA108之间的呼叫路径中。B2BUA116可以被放置为使得所有控制消息和媒体消息(例如,RTP媒体流)都穿过B2BUA116。这稍稍不同于RTP媒体是点到点的并且绕过代理服务器204的代理配置。尽管某些示出的实施例描述了被称为B2BUA和代理的可以包括SEE的实体,但是本领域技术人员将明白,可以提供这样的替代实施例:其中SEE是能够用作B2BUA或者代理的独立实体。因此,SEE可以包含B2BUA或者代理,而不是相反的方式。现在参考图4,将描述根据本发明的至少一些实施例的示例性UA注册方法。在注册期间,SIPxa0UA108生成REGISTER消息,或者在其他通信协议被采用的情况下生成任意其他类型的注册型消息。所生成的消息被发送至专用SIP代理404或者处理端点注册的任意其他类型的应用服务器112。专用SIP代理404对所接收的消息的报头进行分析,以确定SIPxa0UA108的功能能力。更具体地,专用SIP代理404能够检查表明了端点设备的类型、模型以及其他细节的消息报头以及来自规定数据库的用于该设备的细节。根据本发明的至少一些实施例,SIPxa0UA108用于参照规定的(即,管理员规定的)列表来核对UA类型,其中该列表包括UA类型相对于功能能力的映射。在确定SIPxa0UA108的功能能力后,专用SIP代理404生成响应(一般以200OK消息的形式),该响应被发送回SIPxa0UA108。专用SIP代理404还可以用于基于UA108的注册来更新任何数据库212。根据本发明的至少一些实施例,在注册了UA108后,专用SIP代理404能够作出这样的决定:现在注册的UA108是否需要任何端点增强器120以适应于UA108在连接至通信网络104时将涉及的任意SIP消息或呼叫流程。该判定可以覆盖将会排序通过应用的诸如INVITE(邀请)、REFER(引荐)以及MESSAGE(消息)之类的消息以及诸如SUBSCRIBE(订阅)之类的任何非排序消息这两者。应该注意,排序以及未排序的消息类型随着卖方的不同而变化。根据本发明的至少一些实施例,专用SIP代理404被用于:与通信网络104提供的特征的功能要求相比,基于UA108的功能能力选择将使用哪个端点增强器120。如果专用SIP代理404确定需要端点增强器120来支持特定的UA108,则专用SIP代理404将选择适当的端点增强器120或一组端点增强器120,并且动态地将这样的(一个或多个)端点增强器120插入到UA108和任何其他通信设备(例如,另一个端点或者某一其他的中间通信设备)之间的呼叫路径中。由图5可以看出,端点增强器120(508)可以被插入在呼叫504的发起侧或者呼叫504的终结侧。更具体地,对于将会排序通过应用的消息,在针对使用UA108的用户开始发起处理之前和/或在联系解析已经被执行时(在知道可能的很多注册设备中的哪个或哪些将在呼叫处理中被涉及时)针对用户的终结处理之后,将会调用端点增强器120(508)。可以针对发起对话的所有SIP消息(除了REGISTER以外)以及任何其他对话外消息(outxa0ofxa0dialogxa0message)来进行端点增强器120(508)的插入。当端点增强器120(508)用作代理(例如,由代理服务器204提供,或者更具体地被作为应用包括在代理的相同代码空间中)时,端点增强器120(508)可以在需要的情况下选择待在由UA108建立的任意相应对话的信令路径中,并且将因此通过执行标准的记录路由来接收去往/来自该UA108的所有后续消息。在端点增强器120(508)用作B2BUA(例如,由B2BUA116提供,或者更具体地被作为应用包括在B2BUA的相同代码空间中)的情况下,由于B2BUA的特性,端点增强器120(508)将一直待在用于对话的信令路径中。根据本发明的至少一些实施例,端点增强器120可以被写成独立的端点增强器应用,并且不一定需要在代理或者B2BUA的代码空间中进行操作(尽管它们可以在该代码空间中进行操作)。基于正在使用的设备(例如,UA108)而不是基于设备的用户来采用端点增强器120的功能。因此,尽管它使用了类似的路由机制,但是不同于应用排序。因为端点增强器120是在设备类型被识别出来的情况下作为成功的设备注册的结果而被应用的,所以可以再次使用UA108的已经建立的TLS连接。这在允许以每个设备为基础进行增强的同时,简化了启动和网络附接过程。因为初始连接和注册处理是基本的SIP,所以本发明的实施例允许第三方端点使用诸如从DHCP服务器获得SIP外发代理地址之类的标准IP网络附接过程,而不管对于增强的需求如何。本发明的实施例还使得安全功能的附接对于所有设备来说都一致。防火墙、认证、授权机制对于需要增强的设备和不需要增强的设备都保持一致和集中化。根据本发明的至少一些实施例,还提供了“热布置(hotxa0deploy)”端点增强器120的能力。更具体地,端点增强器120可以被动态地插入到其被添加到的设备上。根据本发明的至少一些实施例,多个端点增强器120可能已经位于服务器112或者B2BUA116上。当希望添加新的端点增强器120时,用于新的端点增强器120的代码可以被添加至服务器112或者B2BUA116,而不破坏已经存在的端点增强器120的操作或者不破坏服务器112或者B2BUA116的操作。这使得网络管理员可以简单且高效地改变为特定网络设置的端点增强器120。因此,当新的SIP特征被引入时,向网络添加新的端点增强器120将是相对简单的,从而使得原来的端点能够继续在网络中进行操作,并且进一步得益于新添加的SIP特征。根据本发明的至少一些实施例,发起和终结侧SEE中的一者或两者可能能够执行记录路由功能,从而使得这些实体将看到所有的后续消息,并且能够根据需要添加/去除端点观点报头。现在参考图6和图7,将描述根据本发明的至少一些实施例的示例性端点观点端点增强器120。在端点观点被标准化之前,一些SIP端点在本地并不支持这种报头。图6示出了端点增强器120可以如何增强端点108以支持端点观点报头。首先,Alice呼叫Bob。Alice和Bob二者都使用不支持端点观点的设备,因此需要增强。端点增强器120的一个实例(在发起侧)被用来服务于Alice的呼叫设备,并且SEE的不同实例(在终结侧)被用来服务于Bob的被呼叫设备。根据这里概述的建议,端点增强器120被实现为简单的记录路由代理。在呼叫建立期间,端点增强器120执行两项职责:·在进行代理之前根据端点观点报头规范插入必要的报头。·观察并记住相对一方的端点观点信息。为了简短,图6和图7只示出了SIP消息的相关部分。在图6中可以看出,在呼叫建立期间,Alice呼叫Bob,并且端点根据端点的功能能力生成发起对话的INVITE消息。发起侧端点增强器604识别出需要端点观点信息并且将这样的信息插入到消息报头中。然后,该消息被转发至B2BUA608,B2BUA608将INVITE消息与发起侧端点增强器604生成的端点观点报头以及B2BUA608的新的联系信息一起转发至终结侧端点增强器612。终结侧端点增强器612代表Bob的UA来接收端点观点报头信息并分析端点观点报头,但是仅将该消息而不将端点观点报头信息转发至Bob的UA。因此,呼叫可以根据Bob的UA的功能能力而被处理。Bob的UA生成具有基于它的功能能力(不包括生成端点观点报头的功能能力)的报头的200OK消息。200OK消息被发送至终结侧端点增强器612,终结侧端点增强器612在将该消息转发至B2BUA608之前向该消息添加针对Bob的UA的端点观点信息。B2BUA接收该消息并将该消息转发至发起侧端点增强器604,发起侧端点增强器604代表Alice的UA来接收并分析包含在端点观点报头中的端点观点信息。发起侧端点增强器604然后向Alice的UA转发没有端点观点报头的普通版本200OK消息。这使得Alice的UA生成具有一般的路由和标签信息的ACK(确认)消息。再次,该ACK消息被发送至发起侧端点增强器604,发起侧端点增强器604再次生成端点观点报头并将其转发至B2BUA608,以供传输到它的目的地。B2BUA608将具有端点观点报头的消息转发至终结侧端点增强器612,终结侧端点增强器612分析端点观点信息,将其从消息中去除,并将普通ACK消息转发至Bob的UA。这完成了呼叫建立。可以看出,端点增强器604和612被用来在不破坏服务或消息流动的情况下,代表它们所服务于的端点来插入某些呼叫报头。另外,端点可以在本地不支持端点观点报头的情况下获得端点观点特征的益处。图7示出了在对话ID的转换期间的类似场景。更具体地,Alice可以以Carol将代替Alice与Bob的呼叫的意图来选择将Carol引荐(REFER)给Bob(例如,SIP转移)。因为Alice的设备没有端点观点能力,所以它将利用该设备与B2BUA608应用之间的对话细节来填充替代(Replaces)报头(在REFER中)。然而,发起侧上的端点增强器604能够映射REFER中提到的对话ID并用在呼叫建立期间在端点观点报头中观察到的对话ID来代替REFER中提到的对话ID;这是Bob的设备所知的对话。在Alice的UA处生成的REFER消息已经被发起侧端点增强器604适当地处理后,发起侧端点增强器604将重新成形的REFER消息转发给Carol的UA。这使得Carol的UA生成INVITE消息,该INVITE消息被发送给终结侧端点增强器612,并最终被发送给Bob的UA。在图7中可以看出,Carol和Bob之间的呼叫将不会没有必要地穿过B2BUA608。尽管针对特定的事件序列讨论了上述流程图,但是应该明白,可以在不会对本发明的操作造成实质影响的情况下改变这种序列。另外,事件的精确序列不需要如示例性实施例中所述的那样发生。本文中说明的示例性技术不限于具体说明的实施例,而是可以被其他示例性实施例所利用,并且每个所描述的特征是可以单独并分别请求保护的。除了所描述的通信设备之外或者替代所描述的通信设备,本发明的系统、方法和协议可以实现在专用计算机、经编程的微处理器或者微控制器以及(一个或多个)外围集成电路元件、ASIC或其他集成电路、数字信号处理器、诸如分立元件电路之类的硬接线的电子或逻辑电路、可编程逻辑设备(例如PLD、PLA、FPGA、PAL)、诸如服务器之类的通信设备、个人计算机、任何相当的装置等等之上。一般,能够实现状态机(该状态机能够实现本文中所述的方法)的任何设备都可以用来实现根据本发明的各种通信方法、协议和技术。另外,可以在使用对象的软件或者提供可用在各种计算机或工作站平台上的便携式源代码的面向对象的软件开发环境中容易地实现所公开的方法。替代地,可以在使用标准逻辑电路或者VLSI设计的硬件中部分地或全部地实现所公开的系统。是使用软件还是使用硬件来实现根据本发明的系统取决于系统的速度和/或效率要求、正在利用的特定软件或硬件系统或者微处理器或微计算机系统以及特定功能。根据这里提供的功能性描述以及通信和计算机领域的一般基础知识,适用领域的普通技术人员可以在使用任何已知的或者后来开发的系统或结构、设备和/或软件的硬件和/或软件中容易地实现这里所述的分析系统、方法和协议。另外,所公开的方法可以容易地用软件实现,该软件可以被存储在存储介质中,并且可以在控制器和存储器的协同下在经编程的通用计算机上、在专用计算机上、在微处理器上等等执行。在这些实例中,本发明的系统和方法可以被实现为诸如小应用程序(applet)、ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="191"/>或者CGI脚本之类的嵌入在个人计算机上的程序、位于服务器或者计算机工作站上的资源、嵌入在专用通信系统或系统部件中的例程等。该系统还可以通过将该系统和/或方法实体地结合到诸如通信设备或系统的硬件和软件系统之类的软件和/或硬件系统中来实现。因此很明显,根据本发明实施例,提供了用于增强SIP端点的系统、装置和方法。尽管结合多个实施例描述了本发明,但是显然,很多替代、修改以及变体对于适用领域的普通技术人员来说将是或者是显而易见的。因此,希望覆盖在本发明的精神和范围中的所有的这些替代、修改、等同以及变体。